The present invention is directed to a method and apparatus for controlling access to a communication channel. In particular, the present invention provides method and apparatus by which multiple users can coordinate their use of a shared transmission medium.
It is well known in the art to provide a transmission medium to be shared by a plurality of communication devices. One example of an arrangement which relies on such sharing of communication resources is a wireless communication system. An -One commonly known wireless communication system comprises wireless mobile networks wherein users having communication devices may move throughout wireless communication service areas and conduct communications via over the air links. Yet another wireless communication configuration has been proposed as an alternative to wireline communications that provide local access to telephone switching networks. For example, it has been proposed to provide an arrangement referred to as xe2x80x9cfixed wirelessxe2x80x9d by which homes or locations could be provided with a remote unit or terminal that enables the transmission and receipt of wireless communications, as an alternative or an adjunct to a wireline connection to a local exchange carrier. The remote unit would communicate with a base station via an air link to provide access to a local telephone network.
An example of a fixed wireless configuration is illustrated in block diagram form in FIG. 1. In this arrangement a base station 100 is coupled to a local switch which can include, for example, a No. 5 ESS provided by Lucent Technologies and/or other components such as a local switch 120. The local switch could be a voice switch or a data switch. The base station includes a transmitter, a receiver and a switch interface. The transmitter and receiver act as an air link interface to a plurality of remote units for example remote units 111, 112, 113, 114 and 115. The base station also includes certain processing and memory capabilities which control the operation of the base station in accordance with the methods and techniques described below. The remote units can be coupled to various communication devices such as telephones in the case of remote units 111, 113 and 114, a computer and modem in the case of remote unit 112 and a fax machine in the case of remote unit 115. The remote units also include transmission and receiver elements which act as an air link interface to the base station. Furthermore, a remote unit includes a processor and a memory which together control the air link interface in accordance with the type of communication device connected to the remote unit as well as in accordance with the methods and techniques of the present invention as described below.
In a configuration known prior to the present invention the base station communicated to remote units using a forward channel comprising a plurality of time slots such as that illustrated in FIG. 3. In the illustration, eight of those time slots, TA to TH, are shown as consecutive time slots along the forward channel. When the base station transmits these time slots over the air link, all of the remote units serviced by the base station receive these time slots and can process them accordingly. In addition to the forward channel of FIG. 3, the air link that carries communications to the base station from the remote units is a shared resource referred to as the reverse channel. This shared resource also utilizes a plurality of time slots, some of which are shown in FIG. 2 as time slots T1 to T8, for carrying information from various remote units to the base station.
A problem arises in this configuration in that as remote units detect that the reverse channel is free, multiple remote units may attempt to seize the reverse channel by transmitting data in the same time slots on the reverse channel. This problem will be better understood with reference to FIG. 4.
The time slots on the forward channel in FIG. 4 contain at least two bits of information. One bit labeled the B/I (busy/idle) bit provides status information as to whether the base station is capable of receiving data in a time slot along the reverse channel. Equivalently, this is an indication that the reverse channel is free for use by one of the remote units. In one example if the B/I bit is xe2x80x9c0xe2x80x9d this indicates that the base station is idle or the reverse channel is free while if the B/I bit is equal to xe2x80x9c1xe2x80x9d then this indicates that the base station is busy or the reverse channel is not available. A second bit, the D bit, is directed to the status of whether the base station has successfully decoded the data in a received time slot. A failure to decode received data may result from either a collision of two remote units inserting data into the same time slot or from other transmission errors. Again, for purposes of this application when the D bit equals xe2x80x9c0xe2x80x9d this means that the base station has not successfully received the data in the time slot and when the decode bit equals xe2x80x9c1xe2x80x9d this means that the base station has successfully decoded and hence successfully received data from one of the remote units. In the example shown in FIG. 4 time slots TB and TC have bits B/I and D equal to zero. If a remote unit notes that the B/I bit is zero, then it understands that the base station is accessible. In this instance remote unit one (RU1) attempts to transmit data in a time slot T3. This time slot must be propagated to the base station, processed by the base station and then a responding time slot transferred back along the forward channel to the remote units.
The time between a remote unit""s transmission of a data packet in a time slot on the reverse channel and receipt of a response to that transmission by the remote unit is referred to as a xe2x80x9cround-tripxe2x80x9d time interval. From system to system the xe2x80x9cround tripxe2x80x9d time interval may vary depending on the hardware and software implementations. Within a given system however, it is presumed that this delay interval is fixed and is known to the base station and the associated remote units.
An example of the round trip time interval is illustrated in FIG. 4 by the fact that the B and D bits in the time slots on the forward channel remain as zero for two time slots (TD and TE) beyond the first time slot in which RU1 transmits data, namely time slot T3. It is not until TF that there is any indication that data from the remote unit has been received at the base station. In this instance time slot TF indicates that the data in time slot T3 has been successfully decoded.
Problems can arise because of the round trip delay. Despite the fact that RU1 has attempted to seize the reverse channel in time slot T3, remote unit 2 (RU2) believes, based on the contents of time slots TD and TE, that the resources, (namely the reverse channel and the base station) are available to receive data packets from RU2. As a consequence, RU2 may elect to transmit its data package starting in time slot T4. If that occurs then data from both remote units RU1 and RU2 may appear in time slots T4 and T5 for instance. If one of those sets of data is not received with significantly more power than the other then it is likely that the data in time slots T4 and T5 will not be successfully decoded. This fact is reflected in time slots TG and TH where the B/I bit is set to xe2x80x9c1xe2x80x9d but the D bit is set to xe2x80x9c0xe2x80x9d.
Additional delay can appear in the systems as well if the time necessary for the remote unit to process a response is not negligible in comparison. For example, assume that three reverse channel time slots elapse before the remote unit can act on information received in a forward channel time slot. In such a case, referring to FIG. 4, if RU1 had data available for transmission at time T1 and TA had the B/I at xe2x80x9c0xe2x80x9d, RU1 would not transmit data until slot T4 because it would take RU1 time slots T1 to T3 to process the information in slot TA.
It would be beneficial to provide the ability to control the plurality of remote units so as to reduce the likelihood of collision. By reducing the likelihood of collision more of the reverse channel time slots can be used to successfully transmit data to the base station.
The present invention provides method and apparatus for controlling attempts to seize a shared communication channel. In particular, the present invention provides a technique by which time slot allocation along a transmission medium can be better managed.
In one embodiment of the present invention a remote unit monitors the forward channel to detect the status of the reverse channel. When it detects that the reverse channel is free or that the base station is idle, then it sends a first data portion of a data package wherein the first data portion takes up only one time slot on the reverse channel. The remote unit then continues to monitor the forward channel to determine two pieces of information. First it determines whether in time slots that precede a round trip time slot, there is any indication that any other remote units have transmitted data prior to this remote unit""s transmission of a single time slot. The second piece of information which is detected is the status of bits in the round trip time slot on the forward channel which indicate whether the data transmission from the remote unit was successful. If it is determined that no other remote units have transmitted immediately prior to the given remote unit""s transmission, and the initial data portion has been successfully received by the base station, then the remote unit begins transmission of the remainder of the data package in a plurality of slots along the reverse channel. If the remote unit detects, however, that either another remote unit has transmitted a data package immediately prior to the given remote unit or the first data portion was not successfully received, then the remote unit will begin to look for idle status in a time slot on the forward channel before it attempts to send data to the base station.
The method of the present invention enhances throughput on the reverse channel by reducing the number of collisions that occur on the reverse channel. A remote unit only transmits a small portion, a single time slot, of its data package in an attempt to seize control of the reverse channel. It then transmits the remainder of its data after it has determined that it has seized the channel. The remainder of the data can be in consecutive time slots as in some orderly arrangement or pattern of time slots. Thus, collisions are reduced to those time portions where single data packages or time slots attempt to seize control of the reverse channel at the same time.
In a variation of the present invention, the remote unit again delays the transmission of the remainder of the data package until it has seized control of the reverse channel. In addition, in an effort to reduce the number of time slots lost due to the round trip delay, once a remote unit begins to transmit the remainder of its data package, each time slot in the transmission indicates whether the remaining portion of the data package is greater than the round trip interval. This can be accomplished with a flag or other indicator in the time slot on the reverse channel. When the base station receives a time slot that indicates that the remaining portion of the data package is less than the round trip delay, then the base station will change the busy/idle status to indicate that the reverse channel is free and the base station is idle even though additional time slots of data have yet to be received from the remote unit. This look ahead capability provides that almost immediately contemporaneous with the completion of the transmission from the remote unit which had seized the reverse channel, all of the remote units receive an indication that the reverse channel is now free. This avoids inefficiencies that might otherwise arise from a plurality of time slots going unused on the reverse channel due to the round trip time interval that occurs after the transmission of the last portion of a data message from a first remote unit.
In yet another variation of the present invention the remote units can keep track of their priority for seizing the reverse channel. In accordance with this variation, a remote unit monitors the time slots between the transmission of a first data portion and the round trip time slot associated with that transmission and determines how many of those time slots indicate that a data portion has been successfully received at the base station. Each time a time slot includes such an indication this means that there is one additional remote unit ahead of the monitoring remote unit in line for seizing the reverse channel. Following the expiration of the round trip interval, assuming that the round trip time slot on the forward channel indicates that the remote unit""s first data portion was successfully received, the remote unit then monitors each occurrence of an indication that a transmission has ended. These indicators are also provided in time slots on the forward channel by the base station. Each occurrence of an end of transmission results in decrementing the count of remote units having priority over the given remote unit by one. Eventually the remote unit determines that it is next in line to seize the reverse channel when status indicators indicate that the reverse channel is available. This last variation of the present invention can be modified to include the look ahead notion of the first variation so that the remote unit will not only keep track of its place in line for seizing the reverse channel, but it will seize the reverse channel in approximately the first time slot available on the reverse channel.
These methods and the apparatus for implementing these methods provide improved throughput along a shared communication medium.